package Map;

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/*
 * 2014-8-11 HashMap取值
 * 
 */

public class HashMapTest {
	
	public static void main(String[] args) {
		
		Map<Integer, Integer> myMap = new HashMap<Integer, Integer>();
		int n = 100;

		for (int i = 0; i < n; i++) {
			myMap.put(i, ((int) (Math.random() * 10)));
		}
		//取得Map的所有的KEY
		Set keys = myMap.keySet();
		if (keys != null) {
			//把所有的KEY取出來，直到沒有這個KEY
			Iterator iterator = keys.iterator();
			while (iterator.hasNext()) {
				//.next方法代表 map的key還有可以取出來
				Object key = iterator.next();
				Integer value = myMap.get(key);
				System.out.println(key.toString() + "-" + value.toString());
			}
		}
		
		//可以把MAP所有資料印出來
		System.out.println(myMap.entrySet());
		
		
		//第二種取值方式，新增一個Collection可以，Map本身可以取得所有的值
		Collection collection = myMap.values();
		//Map、Set、List本身都有實作iterator，可以尋訪物件裡的元素
		//hasNext方法是Boolean代表是否還有物件
		//如果有物件可以使用.next()方法，把值印出來
		Iterator iterator = collection.iterator();
		while(iterator.hasNext()) {
		    System.out.println(iterator.next());
		}
	}
}
